A proof of Moessner's theorem by coinduction
نویسندگان
چکیده
We present a coinductive proof of Moessner’s theorem. This theorem describes the construction of the stream (1,2,3, . . .) (for n≥ 1) out of the stream of positive natural numbers by repeatedly dropping and summing elements. Our formalisation consists of a direct translation of the operational description of Moessner’s procedure into the equivalence of—in essence—two functional programs. Our proof fully exploits the circularity that is implicitly present in Moessner’s procedure, and it is more elementary than existing proofs. As such, it serves as a non-trivial illustration of the relevance and power of coinduction.
منابع مشابه
Moessner's Theorem: An Exercise in Coinductive Reasoning in Coq
Moessner’s Theorem describes a construction of the sequence of powers (1, 2, 3, . . . ), by repeatedly dropping and summing elements from the sequence of positive natural numbers. The theorem was presented by Moessner in 1951 without a proof and later proved and generalized in several directions. More recently, a coinductive proof of the original theorem was given by Niqui and Rutten. We presen...
متن کاملConcrete stream calculus: An extended study
This paper shows how to reason about streams concisely and precisely. Streams, infinite sequences of elements, live in a coworld: they are given by a coinductive datatype, operations on streams are implemented by corecursive programs, and proofs are typically concocted using coinduction. This paper offers an alternative to coinduction. Suitably restricted, stream equations possess unique soluti...
متن کاملScans and Convolutions - A Calculational Proof of Moessner's Theorem
The paper introduces two corecursion schemes for streamgenerating functions, scans and convolutions, and discusses their properties. As an application of the framework, a calculational proof of Paasche’s generalisation of Moessner’s intriguing theorem is presented.
متن کاملAn exercise in coinduction: Moessner’s theorem
We present a coinductive proof of Moessner’s theorem. This theorem describes the construction of the stream (1n, 2n, 3n, . . .) (for n ≥ 1) out of the stream of natural numbers by repeatedly dropping and summing elements. Our formalisation consists of a direct translation of the operational description of Moessner’s procedure into the equivalence of in essence two functional programs. Our proof...
متن کاملIterative Circular Coinduction for CoCasl in Isabelle/HOL
Coalgebra has in recent years been recognized as the framework of choice for the treatment of reactive systems at an appropriate level of generality. Proofs about the reactive behavior of a coalgebraic system typically rely on the method of coinduction. In comparison to ‘traditional’ coinduction, which has the disadvantage of requiring the invention of a bisimulation relation, the method of cir...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Higher-Order and Symbolic Computation
دوره 24 شماره
صفحات -
تاریخ انتشار 2011